package ywpt.service.service;

import java.util.List;

import org.hibernate.criterion.DetachedCriteria;

import ywpt.model.RepairInfo;

public interface RepairInfoService {

	public abstract RepairInfo getRepairInfoById(Long id);

	public abstract int getCallRecordCountByCriteria(DetachedCriteria query);

	public abstract List<RepairInfo> getRepairInfos(
			DetachedCriteria query, int pageSize, int startIndex);

	public abstract void saveRepairInfo(RepairInfo repairInfo, Long jobId,
			Long clientId ,Long deviceId,Long getUserId, Long sendUserId, Long responseId,
			Long typeId, Long resultId);

	public abstract void updateRepairInfo(RepairInfo repairInfo, Long jobId,
			Long clientId ,Long deviceId,Long getUserId, Long sendUserId, Long responseId,
			Long typeId, Long resultId);

	public abstract void removeRepairInfo(Long id);

	public abstract void checkRepairInfo(Long id);

	public abstract void disCheckRepairInfo(Long id);
	
	public abstract List<RepairInfo> getRepairInfosByQstr(String qstr, int start, int size);
	
	public abstract int getRepairInfosCountByQstr(String qstr);

	public abstract List<RepairInfo> getRepairInfosByDevice(Long deviceId);

	public abstract String ceratRepairCode();
	
	public abstract List<RepairInfo> getRepairInfos(DetachedCriteria query);
	
	public abstract List<RepairInfo> getRepairInfosByCode(String repairCode, int start, int size);
	
	public abstract int getRepairInfosCountByCode(String repairCode);
}
